执行SQL语句
array|bool query(string $sql, double $timeout = -1)
$sql
:SQL语句$timeout
:超时时间,$timeout
如果小于或等于0
,表示永不超时。在规定的时间内MySQL
服务器未能返回数据,底层将返回false
,设置错误码为110
,并切断连接- 返回值:超时/出错返回
false
,否则以数组形式返回查询结果
$swoole_mysql = new Swoole\Coroutine\MySQL();
$swoole_mysql->connect([
'host' => '127.0.0.1',
'port' => 3306,
'user' => 'user',
'password' => 'pass',
'database' => 'test',
]);
$res = $swoole_mysql->query('select * from $table');
if($res === false) {
return;
}
foreach ($res as $value) {
echo $value['f_filed_name'];
}
设置defer
后,调用query
会直接返回true
。调用recv
才会进入协程等待,返回查询的结果。